﻿package cn.poco.pepsi.Service_impl;

import java.util.ArrayList;
import java.util.List;

import android.content.Context;
import cn.poco.pepsi.bean.Area;
import cn.poco.pepsi.bean.Circle;
import cn.poco.pepsi.bean.Dish;
import cn.poco.pepsi.bean.ResDetail;
import cn.poco.pepsi.bean.Restaurant;



public interface ISearch {
	/** constant **/
	public final static String TAG = "SearchImpl";
	
	public final static String HOT_PATH 
			= "http://img-m.poco.cn/mypoco/mtmpfile/MobileAPI/FoodSearch/circle.php?cd=#a&rank=#b";
	
	
	
	public final static String BASE_SEARCH_PATH = "http://img-m.poco.cn/mypoco/mtmpfile/MobileAPI/FoodSearch/search.php";

	
	//http://img-m.poco.cn/mypoco/mtmpfile/MobileAPI/FoodSearch/pepsi_res.php
	public final static String RESTAURANT_DEATAIL_PATH 
		= "http://img-m.poco.cn/mypoco/mtmpfile/food_iphone/restaurant.php?resid=#o";
	
	public final static String DISH_PATH  = 
		"http://img-m.poco.cn/mypoco/mtmpfile/food_iphone/dish.php?cd=#a&c=#b";
	
	public final static String AREA_PATH = 
		"http://img-m.poco.cn/mypoco/mtmpfile/food_iphone/area.php?cd=#a";
	
	public final static String SUB_AREA_PATH = 
		"http://img-m.poco.cn/mypoco/mtmpfile/food_iphone/area.php?cd=#a&lid=#b";
	
	//public final static String NULL_VALUE = "-1";
	
	
	/**
	 * @param citycode 		城市代码
	 * @param num 	   		num为1只显示最热门的5个商区, num为0显示全部热门商区
	 * @return
	 * @throws Exception
	 * 根据城市代码显示热门商区
	 */
	public List<Circle> getHotCircle(Long citycode,Integer num) throws Exception;

	/**
	 * @param key   		根据关键字搜索 (必须参数,搜索条件为空传入空串)
	 * @param lid   		根据给定的地区代码搜索该地区所有餐厅信息
	 * @param dish  		根据给定的菜式ID搜索本城市的餐厅信息
	 * @param cd    		城市代码(必须参数)
	 * @param s     		起止位置(必须参数)
	 * @param l     		获取长度(必须参数)
	 * @param dis   		是否筛选有优惠券餐厅(0,1)
	 * @param vouch 		是否筛选加盟餐厅(0,1)
	 * @param locationid    (商区ID)筛选指定商区餐厅(如果lid存在则搜索地区餐厅，忽略该参数)
	 * @param dishid        根据指定菜式ID筛选
	 * @return
	 * @throws Exception
	 */
	public List<Restaurant> getFilterRestaurant
			(String key,String lid,String dish,String cd,
					int s,String l,String dis,String vouch,String locationid,String dishid) throws Exception;
	
	/**
	 * 获取餐厅详细信息
	 * @param resid			餐厅ID
	 * @return
	 * @throws Exception 
	 */
	public ResDetail getResDetail(String resid) throws Exception;
	
	
	/**
	 * 获取菜式信息
	 * citycode 城市代码
	 * type food || dish
	 * @return
	 * @throws Exception
	 */
	public List<Dish> getDishs(String citycode,String type,Context context) throws Exception;
	
	
	/**
	 * 根据城市代码获取区域信息
	 * @param citycode
	 * @return
	 * @throws Exception
	 */
	public ArrayList<Area> getArea(String citycode) throws Exception;
	
	/**
	 * 获取城市区域下的商区信息
	 * @param citycode	城市代码
	 * @param lid		区ID
	 * @return
	 * @throws Exception
	 */
	public ArrayList<Area> getSubArea(String citycode,String lid) throws Exception;
	
	
	
	
}
